package karaoke.negocio;

import java.util.Collection;
import java.util.List;

import karaoke.dao.SalaDAO;
import karaoke.excepcion.DAOExcepcion;
import karaoke.modelo.Sala;
import karaoke.modelo.Local;

public class GestionSala {
		public Sala insertar(String nombre, int capacidad, String descripcion, int estado, int idLocal)
				throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();

			Sala vo = new Sala();
			vo.setNombre(nombre);
			vo.setCapacidad(capacidad);
			vo.setDescripcion(descripcion);
			vo.setEstado(estado);
			
			Local local=new Local();
			local.setIdLocal(idLocal);
			vo.setLocal(local);

			return dao.insertar(vo);
		}
		

		public List<Sala> buscarPorNombre(String nombre)
				throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();
			return dao.listar();
		}
		
		public List<Sala> buscarPorLocal(int idLocal)
				throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();
			return dao.buscarPorLocal(idLocal);
		}


		
		public Sala obtener(int idsala) throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();
			return dao.obtener(idsala);
		}

		public void eliminar(int idsala) throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();
			dao.eliminar(idsala);
		}

		public Sala actualizar(int idsala, String nombre, int capacidad, String descripcion, int estado, int idLocal) throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();

			Sala vo = new Sala();
			vo.setIdsala(idsala);
			vo.setNombre(nombre);
			vo.setCapacidad(capacidad);
			vo.setDescripcion(descripcion);
			vo.setEstado(estado);
			
			Local local=new Local();
			System.out.println(idLocal);
			local.setIdLocal(idLocal);
			vo.setLocal(local);	

			return dao.actualizar(vo);
		}
		
		//ELIMINAR LOGICO/////////////////////////////
		public Sala actualizar2(int idsala, String nombre, int estado) throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();

			Sala vo = new Sala();
			vo.setIdsala(idsala);
			vo.setNombre(nombre);
			vo.setEstado(estado);

			return dao.actualizar(vo);
		}
		//////////////////////////////////////////////////
		
		public Collection<Sala> listar() throws DAOExcepcion {
			SalaDAO dao = new SalaDAO();
			return dao.listar();
		}
}